import os,pytest

def run_all():
    base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # 获取项目根目录

    case_dir = os.path.join(base_dir,'cms_case')
    # 获取用例目录（cms_case 下所有 test_*.py文件）
    case_dir = os.path.join(base_dir, 'cms_case')
    # Allure结果和报告目录
    result_dir = os.path.join(base_dir, 'report', 'allure-results')
    report_dir = os.path.join(base_dir, 'report', 'allure-report')

    # 创建目录(如果不存在)
    os.makedirs(result_dir, exist_ok=True)
    os.makedirs(report_dir, exist_ok=True)

    # Step 1:运行 pytest 并生成 allure JSON 结果
    pytest_args = [
        case_dir,
        '--clean-alluredir',
        f'--alluredir={result_dir}',
        '-s','-v']

    pytest.main(pytest_args)

    # Step 2:生成 ALLUre 报告 HTML 页面
    generate_cmd = f'allure generate {result_dir} -o {report_dir} --clean'
    os.system(generate_cmd)

    # Step 3:打开报告页面(浏览器)
    open_cmd = f'allure open {report_dir}'
    os.system(open_cmd)

if __name__ == '__main__':
    run_all()









